A server hosting a media stream often publishes the stream in a single quality level or bitrate. Clients accessing the stream from the server may have varying resources, such as network connection speeds, available processing powers, etc., for receiving and playing back the stream. If a client does not have sufficient resources for the bitrate in which the stream is published, buffering problems and/or stuttering may occur at the client during playback, detrimentally affecting the end user experience.
In some cases, a server hosting media content may publish streams having a few different quality levels or bitrates to cater to clients having different Internet connection speeds (e.g., dial-up, broadband, etc.). In such cases, a user at a client requesting the content is typically prompted to select from a list of connection speeds or available bitrates and/or may be presented with an option to have a connection speed or available bitrate automatically selected. The requested content is then provided to the client with a bitrate that corresponds to the selection. In such cases, if a different quality level or bitrate stream of the same content is later desired by the client, the client must establish a new connection with a stream having the desired bitrate and receives data starting from the beginning of that stream.